package com.like.network;

import com.like.entity.DownloadCourseReq;
import com.like.entity.GeneralResponse;
import com.like.entity.ImageReq;
import com.like.entity.InfoCollectReq;
import com.like.entity.InfoDetailReq;
import com.like.entity.InfoDetailResp;
import com.like.entity.InfoListReq;
import com.like.entity.InfoListResp;
import com.like.entity.InfoGetReplyReq;
import com.like.entity.InfoGetReplyResp;
import com.like.entity.InfoReplyReq;
import com.like.entity.ShareReq;

import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

public interface InfoService {

    @FormUrlEncoded
    @POST("open/informationlist/1.cshtml")
    Call<GeneralResponse<InfoListResp>> getInfoList(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") InfoListReq infoListReq);

    @FormUrlEncoded
    @POST("open/informationinfo/1.cshtml")
    Call<GeneralResponse<InfoDetailResp>> getInfoDetail(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") InfoDetailReq infoDetailReq);

    @FormUrlEncoded
    @POST("open/informationcommentsList/1.cshtml")
    Call<GeneralResponse<InfoGetReplyResp>> getInfoReplyList(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") InfoGetReplyReq infoGetReplyReq);

    @FormUrlEncoded
    @POST("open/informationcollect/1.cshtml")
    Call<GeneralResponse<Object>> collect(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") InfoCollectReq infoCollectReq);

    @FormUrlEncoded
    @POST("open/putinformationcomment/1.cshtml")
    Call<GeneralResponse<Object>> reply(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") InfoReplyReq infoReplyReq);

    @FormUrlEncoded
    @POST("open/getimage/1.cshtml")
    Call<ResponseBody> getImage(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") ImageReq imageReq);

    @FormUrlEncoded
    @POST("open/informationshare/1.cshtml")
    Call<GeneralResponse<Object>> share(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") ShareReq shareReq);

    @FormUrlEncoded
    @POST("open/downloadmeetingcoursewareres/1.cshtml")
    Call<Object> downloadCourse(@Field("MsgID") String msgId, @Field("Secret") String secret, @Field("Data") DownloadCourseReq req);

}
